Techniques for video analytics of captured video content

ABSTRACT

Techniques for video analytics of captured video content are described. An apparatus may comprise a flash memory, a serial bus, and a processor circuit coupled to the flash memory and the serial bus. The processor circuit may comprise a multi-core central processing unit (CPU) and an integrated graphics processing unit (GPU). The processor circuit may receive captured video content via a local communication link, perform video analytics on the captured video content; and send data associated with the performed video analytics to a network interface, for communication to a remote device via a network communication link. Other examples are described and claimed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of, claims the benefit of andpriority to, previously filed U.S. patent application Ser. No.16/665,591, filed on Oct. 28, 2019, which is a continuation of, claimsthe benefit of and priority to, previously filed U.S. patent applicationSer. No. 15/960,287, filed on Apr. 23, 2018, issued on Oct. 29, 2019,under U.S. patent Ser. No. 10/462,411, which is a continuation of,claims the benefit of and priority to, previously filed U.S. patentapplication Ser. No. 15/194,084, filed on Jun. 27, 2016, issued on Apr.24, 2018, under U.S. Pat. No. 9,955,110, which is a continuation of,claims the benefit of and priority to, previously filed U.S. patentapplication Ser. No. 13/548,587, filed on Jul. 13, 2012, issued on Jun.28, 2016, under U.S. Pat. No. 9,380,197, the subject matters of whichare hereby incorporated by reference in their entireties.

BACKGROUND

Video content captured by a camera coupled to a computing device or hostprocessing system includes sending either encoded captured video or raw(not encoded) captured video to the host processing system. The hostprocessing system may perform video analytics and/or store the capturedvideo content. Video analytics may include object tracking, patternmatching or feature extractions and various other types of analysis topull information from the captured video. If raw captured video wasreceived, the host processing system may also encode the raw capturedvideo for storage purposes. The raw captured video may be encoded usingvarious encoding schemes (e.g., H.264; H.265).

Interconnects commonly used for coupling a host processing system to oneor more cameras may include interconnects associated with wired orwireless network interfaces (e.g., Ethernet) or associated with serialbuses (e.g., Universal Serial Bus (USB)). These types of interconnectstypically require that captured video be sent as either an encoded videodata stream or as a raw video data stream. Cameras are increasinglybeing deployed that capture high definition video. This high definitionvideo may result in a large amount of data passing between a highdefinition camera and a host processing system if raw captured video issent. Also, if the captured video is encoded, the host processing systemhas to first decode the encoded captured video in order to perform videoanalytics. Further, some original video data may be lost during theencoding process by the camera and this may negatively impact theaccuracy of the video analytics performed. It is with respect to theseand other challenges that the embodiments described herein are needed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example first system.

FIG. 2 illustrates an example second system.

FIG. 3 illustrates an example third system.

FIG. 4 illustrates a block diagram of an example architecture for avideo manager.

FIG. 5 illustrates a block diagram of an example architecture for acamera manager.

FIG. 6 illustrates an example flow diagram for video analytics ofcaptured video content.

FIG. 7 illustrates an example flow diagram for receiving data associatedwith video analytics.

FIG. 8 illustrates an example fourth system.

FIG. 9 illustrates an example device.

DETAILED DESCRIPTION

As contemplated in the present disclosure, one or more cameras coupledto a processing system may send captured video content as either a rawvideo data stream or an encoded video data stream when interconnectssuch as those associated with Ethernet interfaces or USB are used. A rawvideo data stream may require very large amounts of data over theseinterconnects. Also, if the captured video content is encoded to reducethe data load, some captured video content may be lost and videoanalytics performed by the host processing system may be less accurate.Further, conventional display buses or interconnects (e.g.,High-Definition Multimedia Interface (HDMI), Digital Visual Interface(DVI), DisplayPort, etc.) may not be configured to convey videoanalytics from the one or more cameras to the host processing system.Hence, the host processing system needs to perform video analytics dataof captured video content.

A host processing system that may need to both decode encoded capturedvideo content and perform video analytics may be incrementally burdenedfor each camera that couples to the host processing system.Additionally, as cameras are being designed to capture higherresolutions, the host processing system may be limited in the number ofhigh resolution or high definition cameras the host processing systemcan support.

In some examples, techniques are implemented for video analytics ofcaptured video content at the point of capture, e.g., at the camera. Forthese examples, information may be received at a camera from a hostprocessing system. Video content may be captured by the camera based, atleast in part, on the received information. Video analytics may then beperformed on the captured video content. Data associated with the videoanalytics may then be sent to the host processing system.

According to some examples, techniques are implemented for receivingdata associated with video analytics, e.g., at a host processing system.For these examples, information may be sent from the host processingsystem to a camera. The information may direct the camera to capturevideo content. Data associated with video analytics for video contentcaptured by the camera may be sent by the camera responsive to theinformation sent to the camera. Updated information may then be sentfrom the host processing system to the camera based on the dataassociated with the video analytics.

FIG. 1 illustrates an example first system. In some examples, as shownin FIG. 1 , the example first system includes system 100. As shown inFIG. 1 , system 100 includes a host processing system 110, cameras 120-1to 120-N (“N” is any positive integer>1) and video storage 130. Also, asshown in FIG. 1 , cameras 120-1 to 120-N may be coupled either directlyor indirectly to host processing system 110 via interconnects 140-1 to140-N. For example, camera 120-1, 120-3 and 120-N are shown in FIG. 1 asdirectly coupling via interconnects 140-1, 140-3 and 140-N,respectively. Camera 120-2, in some examples, may indirectly couple tohost processing system 110 by first coupling to camera 120-1 viainterconnect 140-2 and then using interconnect 140-1 to couple to hostprocessing system 110 (e.g., daisy-chaining). Communication link 150 isalso shown in FIG. 1 as coupling video storage 130 to host processingsystem 110.

In some examples, as shown in FIG. 1 , host processing system 110includes a video manager 112 and each camera 120-1 to 120-N includes acamera manager 122. As described more below, video manager 112 mayinclude logic and/or features configured or arranged to provideinformation to cameras for performing video analytics on captured videocontent, receiving data associated with the performed video analytics orsending updated information based on the received data. Also, asdescribed more below, camera manager 122 may include logic and/orfeatures configured or arranged to receive information, capture videocontent based on the received information, perform video analytics onthe captured video content, encode captured video content or send dataassociated with the video analytics and/or the encoded captured videocontent to a host processing system such as host processing system 110having video manager 112.

According to some examples, host processing system 110 and cameras 120-1to 120-N may include logic and/or features (e.g., device drivers—notshown) to concurrently handle two data streams or two communicationchannels routed through each of interconnects 140-1 to 140-N. For theseexamples, as described more below, a first communication channel may beused to transmit information (e.g., camera commands/directions) or dataassociated with video analytics. A second communication channel may beused to transmit raw video or encoded video. In some examples, the twocommunication channels may be multiplexed and routed in a singleinterconnect such as interconnect 140-1 that couples camera 120-1 tohost processing system 110. In other examples, the two communicationchannels may be multiplexed and routed through a multitude ofinterconnects such as interconnects 140-1 and 140-2 that allow forcamera 120-2 to indirectly couple to host processing system 110 throughan intermediate camera such as camera 120-1.

In some examples, the first communication channel used to transmit orsend information or data associated with video analytics may send thedata in accordance with an industry standard (including progenies andvariants) to include, but not limited to, the Peripheral ComponentInterconnect Express (PCI Express) Base 3.0 specification, published inNovember of 2010 (hereinafter “PCI Express”). For these examples, thesecond communication channel used to send encoded video may send theencoded video in accordance with an industry standard (includingprogenies and variants) to include, but not limited to, the VideoElectronics Standards Association (VESA) DisplayPort Standard, version1.2, published in January of 2010 (hereinafter “DisplayPort”). Also, forthese examples, the two communication channels may be arranged orconfigured to operate within interconnects 140-1 to 140-N according to atechnology by Intel® called Thunderbolt™.

In some examples, video storage 130 may be a type of mass storage device(e.g., hard disk or solid disk drives) to at least store video contentreceived by host processing system 110 from cameras 120-1 to 120-N. Asdescribed more below, in some examples, cameras similar to cameras 120-1to 120-N may be located with or mounted at display devices. Thesedisplay devices may display video content streamed from a hostprocessing system such as host processing system 110. For theseexamples, at least some of the streamed video content may be maintainedin video storage 130. For either example, communication link 150 mayoperate in accordance with one or more industry standards (includingprogenies and variants such as those associated with PCI-Express, USB orSerial Advanced Technology Attachment (SATA).

FIG. 2 illustrates an example second system. In some examples, as shownin FIG. 2 , the second system includes surveillance system 200. As shownin FIG. 2 , surveillance system 200 includes similar elements to theelements shown in FIG. 1 . For example, surveillance system 200 includesa host processing system 210, cameras 220-1 to 220-N and video storage230. FIG. 2 also shows cameras 220-1 to 220-N coupling either directlyor indirectly to host processing system 210 via interconnects 240-1 to240-N. Also, video storage 230 may couple to host processing system 210via communication link 250 as shown in FIG. 2 .

According to some examples, cameras 220-1 to 220-N may be deployed assurveillance cameras. For these examples, elements of cameras 220-1 to220-N (e.g., camera manager 122) may be arranged or configured toreceive information from elements of host processing system 210 (e.g.,video manager 112), capture video content based on the receivedinformation, perform video analytics on the captured video content andthen send data associated with the video analytics to host processingsystem 210

In some examples, the information received from host processing system110 at cameras 220-1 to 220-N may include one or more camera commands tocapture the video content. These one or more commands may include, butare not limited to, a camera direction, a time period for a cameradirection, panning between first and second camera directions, a camerazoom or a camera tilt. For example, as shown in FIG. 2 , commands may bereceived by camera 220-1 via interconnect 240-1 and by camera 220-2 viaboth interconnect 240-1 and interconnect 240-2.

In some examples, the information received from host processing system110 at cameras 220-1 to 220-N may include one or more camera commands toselect one or more video analytics to perform on a captured video, andto send data associated with the video analytics to host processingsystem 110.

In some examples, the information may include additional commands fromhost processing system 110. The additional commands may include arequest for cameras 220-1 to 220-N to perform different types of videoanalytics and extract desired data as needed (e.g., by a user). Theseadditional commands can also be used to change types of video analyticsperformed by cameras 220-1 to 220-N. For example, these cameras mayinclude logic and/or features to perform background subtraction todetermine whether a person or object is present in a camera view. When aperson or object is detected, host processing system 110 may includelogic and/or features arranged to issue a command to cameras 220-1 to220-N to perform facial recognition and object tracking to identify andtrack the person.

According to some examples, logic and/or features at cameras 220-1 to220-N may also be configured to encode captured video content (e.g.,surveillance video). For these examples, both the data associated withthe video analytics and the encoded video content may be sent viainterconnects 240-1 to 240-N to host processing system 210. For example,as shown in FIG. 2 , encoded video and analytic data may be sent fromcamera 220-1 via interconnect 240-1 and from camera 220-2 via bothinterconnect 240-2 and 240-1. Also for these examples, the analytic datamay be sent via a first communication channel (e.g., a PCI-Expresscommunication channel) and the encoded video may be sent via a secondcommunication channel (e.g., a DisplayPort communication channel). Boththe first and the second communication channels may be included ineither a single interconnect (e.g., interconnect 240-1) or daisy-chainedin two or more interconnects (e.g., interconnects 240-1 and 240-2).

In some examples, the logic and/or features included at cameras 220-1 to240-N may capture the video content and then perform at least some videoanalytics on the captured video content before encoding the capturedvideo content. Surveillance-related data associated with these videoanalytics may include, but is not limited to, a movement pattern of oneor more objects in the captured video content, a lighting condition inthe captured video content, the presence or absence of one or moreobjects in the capture video, locations of one or more objects in thecaptured video (for example: object tracking), identity of one or morepersons or objects in the captured video (for example: facialrecognition or object recognition), color characteristics of one or moreobjects in the captured video or shape characteristics of one or moreobjects in the captured video. Host processing system 210 may receivethis surveillance-related data and then send updated camera commands,based on the surveillance-related data. For example, analytic dataincluding movement patterns may indicate more movement at an edge of acamera's field of view. The updated camera command may direct the camerato adjust the camera's direction to center the camera's field of viewwhere movement patterns indicated more movement.

FIG. 3 illustrates an example third system. In some examples, as shownin FIG. 3 , the third system includes display system 300. As shown inFIG. 3 , display system 300 includes similar elements to the elementsshown in FIGS. 1 and 2 . For example, display system 300 includes a hostprocessing system 310, cameras 322-1 to 322-N and video storage 330.However, different from FIGS. 1 and 2 , display system 300 includesdisplay devices 320-1 to 320-N each having display panel(s) 326-1 to326-N. Display devices 320-1 to 320-N may couple to host processingsystem 310 either directly or indirectly via interconnects 340-1 to340-N. Also, video stored 330 may couple to host processing system 310via communication link 350.

According to some examples, cameras 322-1 to 322-N may be located withor mounted near respective display panel(s) 326-1 to 326-N. For theseexamples, each camera may be oriented to capture video contentcontemporaneously with its display panel(s) displaying video. Forexample, camera 322-1 may be mounted at or near display panel(s) 326-1such that captured video content includes video of objects, observers,lighting conditions, etc. that may be in front or within an observablerange of video displayed by display panel(s) 326-1.

In some examples, display panel(s) 326-1 to 326-N may include monitors,screens, displays, paneled displays or any type of medium to displayvideo images. The displayed video images may include, but are notlimited to, images for advertisements, general information (e.g., maps,directions, warnings, weather forecasts, etc.), news reports,entertainment or interactive gaming. According to some examples, displaydevices 320-1 to 320-N may receive streaming video from host processingsystem 310 via interconnects 340-1 to 340-N. The streaming video, forexample, may include video to be displayed on display panel(s) 326-1 to326-N.

According to some examples, as shown in FIG. 3 , host processing system310 may send streaming video and directions to display device 320 viainterconnect 340-1. Also, in some examples, the same streaming video andsame directions may also be sent to display devices 320-2 and 320-3 viadaisy-chained interconnects 340-2 and 340-3, respectively. Inalternative examples, different streaming video and different directionsmay sent individually to display devices 320-2 and 320-3 viadaisy-chained interconnects 340-2 and 340-3, respectively. For either ofthese examples, the directions may direct cameras 322-1 to 322-3 tocapture video content contemporaneously with their respective displaypanels displaying the video streamed from host processing system 310.

According to some examples, as shown in FIG. 3 , a camera manager 122may be located with or part of a camera. For these examples, the cameramay perform analytics on video content captured while display panel(s)of the display device display video streamed from host processing system310. Also, as shown in FIG. 3 , in other examples, a camera manager 122may be included in a display device separate from a camera. For theseother examples, the camera may capture the video content and thenforward the captured video content to logic and/or features at thedisplay device for performance of analytics on the video contentcaptured by the camera.

In some examples, video analytics performed on video content capturedmay result in data associated with these video analytics. For example,the data may include a movement pattern for observers of displayedvideo. The data may also include shape characteristics (e.g., height,weight, hair styles, etc.) for observers of displayed video. The datamay also include lighting conditions at the display panel(s) via whichthe video was displayed. The data may also include types of interactions(e.g., hand/arm gestures, head movements, leg movements, etc.) forobservers when observing the displayed video. The examples are notlimited in this context.

According to some examples, data associated with video analyticsperformed either by a display device or a camera may be sent via a firstcommunication channel (e.g., a PCI-Express communication channel) andthe streaming video may be received via a second communication channel(e.g., a DisplayPort communication channel). Both the first and thesecond communication channels may be included in either a singleinterconnect or daisy-chained in two or more interconnects. For example,as shown in FIG. 3 , interconnects 340-3 and 340-2 may be daisy-chainedto allow display device 320-3 to receive streaming video/directions andto send analytic data to host processing system 310.

In some examples, host processing system 310 may receive data associatedwith video analytics performed by either cameras 322-1 to 322-N and/orby display devices 320-1 to 320N. For these examples, host processingsystem 310 may include logic and/or features to send updated informationand/or updated streaming video. For example, the data associated withvideo analytics may indicate that movement patterns for observers of thedisplayed video are indicating quick movement past display panel(s)326-1 to 326-N (e.g., observers in vehicles traveling at freewayspeeds). The updated streaming video may be arranged such that thedisplayed video can be better observed given these movement patterns(e.g., short, concise images). Also, the updated information may directcameras 322-1 to 322-N to capture additional video contentcontemporaneously with display panel(s) 326-1 to 326-N displaying theupdated video stream. Data associated with additional video analyticsmay then be provided to host processing system 310 based on thisadditionally captured video content. In some examples, the updatedinformation may also include adjustments to camera position, panning,zoom or camera tilt when capturing the additional video content.

In some examples; host processing system 310 may store video analyticsdata received from cameras 322-1 to 322-N in video storage 330 or sendthe data to a remote system through a network link (not shown).Additional processing, statistical analysis or data mining may beperformed on video analytics data received from cameras 322-1 to 322-Nby host processing system 310. Host processing system 310 may store theprocessed data in video storage 330 or send the data to a remote systemthrough a network link (not shown).

According to some examples, camera manager 122 located at either cameras322-1 to 322-N or at display devices 320-1 to 320-N may also encodecaptured video content. Similar to surveillance system 200, cameramanagers 122 for display system 300 may send data associated with videoanalytics via a first communication channel (e.g., a PCI-Expresscommunication channel) to host processing system 310 and may send theencoded captured video content via a second communication channel (e.g.,a DisplayPort communication channel) to host processing system 310. Boththe first and the second communication channels may be included ineither a single interconnect (e.g., interconnect 340-1) or daisy-chainedin two or more interconnects (e.g., interconnects 340-1, 340-2 and340-3). Host processing system 310 may perform additional videoanalytics on the encoded captured video content and/or may store thecaptured video content at video storage 330.

FIG. 4 illustrates a block diagram of an example architecture for avideo manager 112. In some examples, video manager 112 includes featuresand/or logic configured or arranged for sending information and/orstreaming video to camera managers 122 at cameras or display devices.The information may direct one or more cameras to capture video content,receive data associated with video analytics for the captured videocontent and then send updated information based on the data associatedwith the video analytics. According to some examples, as shown in FIG. 4, video manager 112 includes a decision logic 410, a control logic 420,a memory 430 and input/output (I/O) interfaces 440. As illustrated inFIG. 4 , decision logic 410 may be coupled to control logic 420, memory430 and I/O interfaces 440. Decision logic 410 may include one or moreof a direct feature 412, a receive feature 414, a stream feature 416, ananalysis feature 418 or a store feature 419, or any reasonablecombination thereof.

In some examples, the elements portrayed in FIG. 4 are configured tosupport or enable video manager 112 as described in this disclosure. Agiven video manager 112 may include some, all or more elements thanthose depicted in FIG. 4 . For example, decision logic 410 and controllogic 420 may separately or collectively represent a wide variety oflogic device(s) or executable content to implement the features of videomanager 112. Example logic devices may include one or more of amicroprocessor, a microcontroller, a processor circuit, a fieldprogrammable gate array (FPGA), an application specific integratedcircuit (ASIC), a sequestered thread or a core of amulti-core/multi-threaded microprocessor, or a combination thereof.

In some examples, as shown in FIG. 4 , decision logic 410 includesdirect feature 412, receive feature 414, stream feature 416, analysisfeature 418 or store feature 419. Decision logic 410 may be configuredto use one or more of these features to perform operations. For example,direct feature 412 may send information to direct a camera to capturevideo content. Receive feature 414 may receive data associated withvideo analytics for the video content captured by the camera. Streamfeature 416 may stream video for display by one or more display panelsat a display device. Analysis feature 418 may analyze the received dataassociated with the video analytics and determine updated informationfor direct feature 412 to send to the camera to capture addition videocontent. Store feature 419 may store received encoded video, dataassociated with video analytics received from a camera or other dataobtained as a result of processing video analytics data in a localstorage or a remote storage.

According to some examples, analysis feature 418 may analyze thereceived data associated with the video analytics and invoke hostprocessing system 110 to perform additional processing in response tothe video analytics data received from cameras. Processing that the hostprocessing system 110 performs may include, but is not limited to,viewer gesture interpretation, executing additional commands in responseto a detected human gesture, communication with a remote system orraising an alarm in response to a detected threat condition. Analysisfeature 418 may also perform additional statistical analysis or datamining on video analytics data received from cameras.

In some examples, control logic 420 may be configured to control theoverall operation of video manager 112. As mentioned above, controllogic 420 may represent any of a wide variety of logic device(s) orexecutable content. For some examples, control logic 420 may beconfigured to operate in conjunction with executable content orinstructions to implement the control of video manager 112. In somealternate examples, the features and functionality of control logic 420may be implemented within decision logic 410.

According to some examples, memory 430 may be arranged to storeexecutable content or instructions for use by control logic 420 and/ordecision logic 410. The executable content or instructions may be usedto implement or activate features, elements or logic of video manager112. As described more below, memory 430 may also be arranged to atleast temporarily maintain received data associated with videoanalytics. Memory 430 may also be arranged to at least temporarilymaintain information used to direct cameras to capture video content.

Memory 430 may include a wide variety of non-volatile memory mediaincluding, but not limited to, one or more types of flash memory,programmable variables or states, read-only memory (ROM), random accessmemory (RAM), or other static or dynamic storage media.

In some examples, I/O interfaces 440 may provide an interface via alocal communication medium or link between video manager 112 andelements of a host processing system. I/O interfaces 440 may includeinterfaces that operate according to various communication protocols tocommunicate over the local communication medium or link. Thesecommunication protocols may be described in one or more industrystandards/specifications (including progenies and variants) such asthose associated with the Open NAND Flash Interface Specification(ONFi), the Inter-Integrated Circuit (I²C) specification, the SystemManagement Bus (SMBus) specification, the Accelerated Graphics Port(AGP) specification, the PCI Express specification, the USBspecification or the SATA specification. This disclosure is not limitedto only the above-mentioned standards/specifications and theirassociated protocols.

According to some examples, I/O interfaces 440 may provide an interfacevia communication mediums, links or interconnects between video manager112 and elements outside of a host processing system (e.g., cameramanagers 122 s). I/O interfaces 440 may include interfaces that operateaccording to various communication protocols described instandards/specifications or industry technologies in order tocommunicate over these communication mediums, interconnects or links.These communication protocols may be described instandards/specifications or industry technologies (including progeniesand variants) such as the Ethernet standard, the SATA specification, thePCI Express specification, the USB specification, the DisplayPortstandard or the Thunderbolt™ technology by Intel®. This disclosure isnot limited to only the above-mentioned standards/specifications ortechnologies and their associated communication protocols.

FIG. 5 illustrates a block diagram of an example architecture for cameramanager 122. In some examples, camera manager 122 includes featuresand/or logic configured or arranged for receiving information from ahost processing system (e.g., via a video manager 112). A given cameramanager 122 at either a camera or display device may also include logicand/or features to capture video content using a camera based on thereceived information, perform video analytics on the captured videocontent, encode the captured video content and send data associated withthe video analytics and/or send the encoded captured video content tothe host processing system (e.g., to a video manager 112). According tosome examples, as shown in FIG. 5 , camera manager 122 includes a videologic 510, a control logic 520, a memory 530 and input/output (I/O)interfaces 540. As illustrated in FIG. 5 , video logic 510 may becoupled to control logic 520, memory 530 and I/O interfaces 540. Videologic 510 may include one or more of a direct feature 512, a capturefeature 514, an analytic feature 516, an encode feature 518, or a sendfeature 519 or any reasonable combination thereof.

In some examples, the elements portrayed in FIG. 5 are configured tosupport or enable camera manager 122 as described in this disclosure. Agiven camera manager 122 may include some, all or more elements thanthose depicted in FIG. 5 . For example, video logic 510 and controllogic 520 may separately or collectively represent a wide variety oflogic device(s) or executable content to implement the features ofcamera manager 122. Example logic devices may include one or more of amicroprocessor, a microcontroller, a processor circuit, an FPGA, ASIC, asequestered thread or a core of a multi-core/multi-threadedmicroprocessor, or any combination thereof.

In some examples, as shown in FIG. 5 , video logic 510 includes directfeature 512, capture feature 514, analytic feature 516, encode feature518 or send feature 519. Video logic 510 may be configured to use one ormore of these features to perform operations while camera manager 122 islocated with a camera or a display device. For example, receive feature512 may receive information sent by video manager 112 at a hostprocessing system. Capture feature 514 may capture video content basedon the received information. Analytic feature 516 may perform videoanalytics on the captured video content. Encode feature 518 may encodethe captured video content. Send feature 519 may send data associatedwith the video analytics and may also send the encoded captured videocontent to video manager 112 at the host processing system.

In some examples, control logic 520 may be configured to control theoverall operation of camera manager 122. As mentioned above, controllogic 520 may represent any of a wide variety of logic device(s) orexecutable content. For some examples, control logic 520 may beconfigured to operate in conjunction with executable content orinstructions to implement the control of camera manager 122. In somealternate examples, the features and functionality of control logic 520may be implemented within video logic 510.

According to some examples, memory 530 may be arranged to storeexecutable content or instructions for use by control logic 520 and/orvideo logic 510. The executable content or instructions may be used toimplement or activate features, elements or logic of camera manager 122.Memory 530 may also be arranged to at least temporarily maintain dataassociated with video analytics for captured video content. Memory 530may also be arranged to at least temporarily maintain encoded capturedvideo content before sending the encoded captured video content.

Memory 530 may include a wide variety of non-volatile memory mediaincluding, but not limited to, one or more types of flash memory,programmable variables or states, ROM, RAM, or other static or dynamicstorage media.

In some examples, I/O interfaces 540 may provide an interface via alocal communication medium or link between camera manager 122 andelements of either a camera or a display device. I/O interfaces 540 mayinclude interfaces that operate according to various communicationprotocols to communicate over the local communication medium or link.These communication protocols may be described in one or more industrystandards/specifications (including progenies and variants) such asthose associated with the ONFi specification, the I²C specification, theSMBus specification, the AGP specification, the PCI Expressspecification, the USB specification or the SATA specification. Thisdisclosure is not limited to only the above-mentionedstandards/specifications and associated protocols.

According to some examples, I/O interfaces 540 may provide an interfacevia communication mediums, links or interconnects between camera manager122 and elements of a host processing system (e.g., video manager 112).I/O interfaces 540 may include interfaces that operate according tovarious communication protocols described in standards/specifications orindustry technologies in order to communicate over these communicationmediums, interconnects or links. These communication protocols may bedescribed in standards/specifications or industry technologies(including progenies and variants) such as the Ethernet standard, theSATA specification, the PCI Express specification, the USBspecification, the DisplayPort standard or the Thunderbolt™ technologyby Intel®. This disclosure is not limited to only the above-mentionedstandards/specifications or technologies and their associatedcommunication protocols.

FIG. 6 illustrates an example flow diagram for video analytics ofcaptured video content. In some examples, elements of systems 100, 200or 300 as shown in FIGS. 1-3 may be used to illustrate exampleoperations related to the flow chart depicted in FIG. 6 . Camera manager122 as shown in FIGS. 1-3 or FIG. 5 may also be used to illustrate theexample operations. The described example operations are not limited toimplementations on systems 100, 200 or 300 or to camera manager 122 asdescribed above for FIGS. 1-3 or FIG. 5 .

Moving from the start to block 610 (Receive Information), camera manager122 at either a camera or a display device may include logic and/orfeatures configured to receive information (e.g., via receive feature512) from a host processing system. In some examples, the informationmay have been sent by a video manager 112 at the host processing systemto a camera serving as either a surveillance camera for a surveillancesystem or a camera located with a display device in a display system.For these examples, the information may direct the camera to capturevideo content. The information may also include one or more cameracommands to include a camera direction, a time period for a cameradirection or panning, zooming or tilting instructions. For displaysystem examples, the information may also include directing the camerato capture the video content contemporaneously with displaying videostreamed from the host processing system at a display device (e.g., onone or more display panels).

Proceeding from block 610 to block 620 (Capture Video Content), cameramanager 122 may include logic and/or features configured to capturevideo content (e.g., via capture feature 514). In some examples, for asurveillance system such as surveillance system 200, the video contentmay be captured while implementing the one or more camera commands. Inother examples, for a display system such as display system 300, thevideo content may be captured contemporaneously with the displaying ofthe video stream at the display device.

Proceeding from block 620 to block 630 (Perform Video Analytics), cameramanager 122 may include logic and/or features configured to performvideo analytics (e.g., via analytic feature 516) on the captured videocontent. In some examples, camera manger 122 may generate dataassociated with the video analytics. For a camera in a surveillancesystem, the data may include a movement pattern of one or more objectsin the captured video content, a lighting condition in the capturedvideo content, color characteristics of one or more objects in thecaptured video or shape characteristics of one or more objects in thecaptured video. For a camera in a display system, the data may include amovement pattern for observers of the displayed video, biometricsinformation (e.g. gender and age group) for observers of the displayedvideo, extracted gesture information for observers of the displayedvideo, shape characteristics for observers of the displayed video,biometrics information (e.g. gender and age group) for observers of thedisplayed video, extracted gesture information for observers of thedisplayed video, lighting conditions at the display system while thevideo was displayed or types of interactions for observers whenobserving the displayed video.

Proceeding from block 630 to block 640 (Send Data), camera manager 122may include logic and/or features configured to send the data associatedwith the video analytics (e.g., via send feature 519). Data may alsoinclude encoded video data. In some examples, the data may be sent tovideo manager 112 at the host processing system.

Proceeding from block 640 to decision block 650 (Updated InformationReceived?), camera manager 122 may determine whether updated informationhas been received (e.g., via receive feature 512). In some examples, theupdated information may be received from video manager 112 responsive tovideo manager 112 receiving the data associated with the captured videocontent. The updated information may include updated camera commands ifthe camera is serving as a surveillance camera. The updated informationmay alternatively include directions for a camera at a display device tocontinue to contemporaneously capture video content. If updatedinformation was received, the process moves to block 610. Otherwise, theprocess moves to decision block 660.

Proceeding from decision block 650 to decision block 660 (AdditionalVideo Analytics?), camera manager 122 may determine whether videoanalytics are needed. In some examples, camera manager 122 may beinstructed to capture video content and perform video analytics for aset duration of time or between specific times of the day. For theseexamples, additional video analytics may be needed for additionallycaptured video content if the set duration has not expired or the timeof day still falls between the specific times of the day. If additionalvideo analytics are needed, the process moves to block 620. Otherwise,the process comes to an end.

FIG. 7 illustrates an example flow diagram for receiving analytics ofcaptured video content. In some examples, elements of systems 100, 200or 300 as shown in FIGS. 1-3 may be used to illustrate exampleoperations related to the flow chart depicted in FIG. 7 . Video manager112 as shown in FIGS. 1-4 may also be used to illustrate the exampleoperations. The described example operations are not limited toimplementations on systems 100, 200 or 300 or to video manager 112 asdescribed above for FIGS. 1-4 .

Moving from the start to block 710 (Send Information), video manager 112at a host processing system may include logic and/or features configuredto send information (e.g., via direct feature 412) to direct a camera tocapture video content. In some examples, the information may be sent toa camera serving as either a surveillance camera for a surveillancesystem or a camera located with a display device in a display system.For these examples, the information in addition to directing the camerato capture video content, may also include one or more camera commandsto include a camera direction, a time period for a camera direction orpanning, zooming or tilting instructions. For display system examples,the information may also include directing the camera to capture thevideo content contemporaneously with displaying video streamed from thehost processing system at a display device (e.g., on one or more displaypanels).

Proceeding from block 710 to decision block 720 (Stream Video?), videomanager 112 may include logic and/or features configured to determinewhether video is to be streamed (e.g., via stream feature 416). In someexamples, video may be streamed if the camera is located with a displaydevice in a display system. Video may not be streamed if the camera ispart of a surveillance system. If the camera is part of a surveillancesystem the process moves to block 730. Otherwise, if the camera islocated with a display device, the process moves to block 750.

Proceeding from decision block 720 to block 730 (Receive Data andEncoded Video), video manager 112 may include logic and/or featuresconfigured to receive data and encoded video (e.g., via receive feature414). In some examples, a camera manager 122 at a surveillance cameramay capture video content, perform video analytics on the capture videocontent and then encode the captured video content. Both data associatedwith the video analytics and the encoded video may be received from thesurveillance camera. The data, for example, may include a movementpattern of one or more objects in the captured video content, a presenceor an absence of one or more objects in a captured video content,locations of one or more objects in a captured video content, identityof one or more persons or objects in a captured video content, alighting condition in the captured video content, color characteristicsof one or more objects in the captured video or shape characteristics ofone or more objects in the captured video.

Proceeding from block 730 to decision block 740 (Send UpdatedInformation?), video manager 112 may include logic and/or featuresconfigured to determine whether updated information needs to be sent tothe surveillance camera based on either the received encoded video orthe data associated with the video analytics (e.g., via analysis feature418). Video manager 112 may perform additional processing, statisticalanalysis, or data mining on the received encoded video or dataassociated with the video analytics. In some examples, video manager 112may determine that the data associated with the video analyticsindicates that new camera commands are warranted and these new commandsmay be included in updated information sent to the surveillance camera.If updated information is to be sent, the process moves to block 710.Otherwise, the process moves to block 780.

Returning back to decision block 720 and proceeding to block 750 (StreamVideo to Display Device), video manager 112 may include logic and/orfeatures configured to stream video to a display device located with thecamera. In some examples, the video may be streamed to the displaydevice for display on one or more display panels at the display device.

Proceeding from block 750 to block 760 (Receive Data), video manager 112may include logic and/or features configured to receive data from thecamera located with the display device (e.g., receive feature 414). Insome examples, the data may be associated with video analytics for videocontent captured by the camera responsive to the directions previouslysent. For these examples, the data may include a movement pattern forobservers of the displayed video, shape characteristics for observers ofthe displayed video, biometrics information (e.g. gender and age group)for observers of the displayed video, extracted gesture information forobservers of the displayed video, lighting conditions at the displaysystem while the video was displayed or types of interactions forobservers (e.g. gesture recognition) when observing the displayed video.

Moving from block 760 to decision block 770 (Updated StreamingVideo/Information?), video manager 112 may include logic and/or featuresto determine whether updated streaming video and/or information isneeded based on the received data associated with the video analytics(e.g., via analysis feature 418). Video manager 112 may performadditional processing, statistical analysis, or data mining on thereceived data associated with the video analytics. In some examples,video manager 112 may determine that the data associated with the videoanalytics indicates that new or updated streaming video may need to bestreamed to the display device located with the camera. Also, new orupdated camera commands may be warranted as well and these new commandsmay be included in updated information also sent to the camera. Ifupdated streaming video/information is determined to be needed, theprocess moves to block 710. Otherwise, the process moves to block 780.

Moving from either decision block 740 or decision block 770 to block 780(Store Received Data and/or Encoded Video), video manager 112 mayinclude logic and/or features to store data received from the cameralocated with the display device or encoded data received from asurveillance camera (e.g., via store feature 419). In some examples, thedata may include video analytics data and/or other data obtained as aresult of processing video analytics data in a local or remote storage.The process may then come to an end. Alternatively, although not shownin FIG. 7 , the process may continue by returning to block 710 ifadditional encoded video and/or data associated with video analytics isexpected to be received. In some examples, block 780 may be performed asa separate process that runs concurrently with other blocks of FIG. 7 toenable real time storing of data or video.

FIG. 8 illustrates an example fourth system. In some examples, as shownin FIG. 8 , the fourth system includes system 800. System 800 may be asystem to receive, stream or analyze media although system 800 is notlimited to this context. For example, system 800 may be incorporatedinto a host processing system a personal computer (PC), laptop computer,ultra-laptop computer, tablet computer, touch pad, portable computer,ultrabook computer, handheld computer, palmtop computer, display device,personal digital assistant (PDA), cellular telephone, combinationcellular telephone/PDA, television, smart device (e.g., smart camera,smart phone, smart tablet or smart television), mobile internet device(MID), messaging device, data communication device, and so forth.

According to some examples, system 800 includes a platform 802 coupledto a display 820. Platform 802 may receive content (e.g., video, audioor images) from a content device such as content services device(s) 830or content delivery device(s) 840 or other similar content sources. Anavigation controller 850 including one or more navigation features maybe used to interact with, for example, platform 802 and/or display 820.Each of these components is described in more detail below.

In some examples, platform 802 may include any combination of a chipset805, processor 810, memory 812, storage 814, graphics subsystem 815,applications 816 and/or radio 818. Chipset 805 may provideintercommunication among processor 810, memory 812, storage 814,graphics subsystem 815, applications 816 and/or radio 818. For example,chipset 805 may include a storage adapter (not depicted) capable ofproviding intercommunication with storage 814.

Processor 810 may be implemented as Complex Instruction Set Computer(CISC) or Reduced Instruction Set Computer (RISC) processors, x86instruction set compatible processors, multi-core, or any othermicroprocessor or central processing unit (CPU). In some examples,processor 810 may comprise dual-core processor(s), dual-core mobileprocessor(s), and so forth.

Memory 812 may be implemented as a volatile memory device such as, butnot limited to, a RAM, DRAM, or SRAM.

Storage 814 may be implemented as a non-volatile storage device such as,but not limited to, a magnetic disk drive, optical disk drive,solid-state disk drive, tape drive, an internal storage device, anattached storage device, flash memory, battery backed-up SDRAM(synchronous DRAM), and/or a network accessible storage device. In someexamples, storage 814 may include technology to increase the storageperformance enhanced protection for valuable digital media when multiplehard drives are included, for example.

Graphics subsystem 815 may perform processing of images such as still orvideo for display. Graphics subsystem 815 may include a processorserving as a graphics processing unit (GPU) or a visual processing unit(VPU), for example. An analog or digital interface may be used tocommunicatively couple graphics subsystem 815 and display 820. Forexample, the interface may be any of a High-Definition MultimediaInterface, DisplayPort, a Thunderbolt™ interface, wireless HDMI, and/orwireless HD compliant techniques. For some examples, graphics subsystem815 could be integrated into processor 810 or chipset 805. Graphicssubsystem 815 could also be a stand-alone card (e.g., a discretegraphics subsystem) communicatively coupled to chipset 805.

The graphics and/or video processing techniques described herein may beimplemented in various hardware architectures. For example, graphicsand/or video functionality may be integrated within a chipset.Alternatively, a discrete graphics and/or video processor may be used.As still another example, the graphics and/or video functions may beimplemented by a general purpose processor, including a multi-coreprocessor. In a further example, the functions may be implemented in aconsumer electronics device.

Radio 818 may include one or more radios capable of transmitting andreceiving signals using various suitable wireless communicationstechniques. Such techniques may involve communications across one ormore wireless networks. Example wireless networks include (but are notlimited to) wireless local area networks (WLANs), wireless personal areanetworks (WPANs), wireless metropolitan area network (WMANs), cellularnetworks, and satellite networks. In communicating across such networks,radio 818 may operate in accordance with one or more applicablestandards in any version.

In some examples, display 820 may comprise any television type monitoror display. Display 820 may include, for example, a computer displayscreen, touch screen display, video monitor, television-like device,and/or a television. Display 820 may be digital and/or analog. For someexamples, display 820 may be a holographic display. Also, display 820may be a transparent surface that may receive a visual projection. Suchprojections may convey various forms of information, images, and/orobjects. For example, such projections may be a visual overlay for amobile augmented reality (MAR) application. Under the control of one ormore software applications 816, platform 802 may display user interface822 on display 820.

According to some examples, content services device(s) 830 may be hostedby any national, international and/or independent service and thusaccessible to platform 802 via the Internet, for example. Contentservices device(s) 830 may be coupled to platform 802 and/or to display820. Platform 802 and/or content services device(s) 830 may be coupledto a network 860 to communicate (e.g., send and/or receive) mediainformation to and from network 860. Content delivery device(s) 840 alsomay be coupled to platform 802 and/or to display 820.

In some examples, content services device(s) 830 may comprise a cabletelevision box, personal computer, network, telephone, Internet enableddevices or appliance capable of delivering digital information and/orcontent, and any other similar device capable of unidirectionally orbidirectionally communicating content between content providers andplatform 802 and/display 820, via network 860 or directly. It will beappreciated that the content may be communicated unidirectionally and/orbidirectionally to and from any one of the components in system 800 anda content provider via network 860. Examples of content may include anymedia information including, for example, video, music, medical andgaming information, and so forth.

Content services device(s) 830 receives content such as cable televisionprogramming including media information, digital information, and/orother content. Examples of content providers may include any cable orsatellite television or radio or Internet content providers. Theprovided examples are not meant to limit the scope of this disclosure.

In some examples, platform 802 may receive control signals fromnavigation controller 850 having one or more navigation features. Thenavigation features of controller 850 may be used to interact with userinterface 822, for example. According to some examples, navigationcontroller 850 may be a pointing device that may be a computer hardwarecomponent (specifically human interface device) that allows a user toinput spatial (e.g., continuous and multi-dimensional) data into acomputer. Many systems such as graphical user interfaces (GUI), andtelevisions and monitors allow the user to control and provide data tothe computer or television using physical gestures.

Movements of the navigation features of controller 850 may be echoed ona display (e.g., display 820) by movements of a pointer, cursor, focusring, or other visual indicators displayed on the display. For example,under the control of software applications 816, the navigation featureslocated on navigation controller 850 may be mapped to virtual navigationfeatures displayed on user interface 822, for example. In some examples,controller 850 may not be a separate component but integrated intoplatform 802 and/or display 820. Although this disclosure is not limitedto the elements or in the context shown for controller 850.

According to some examples, drivers (not shown) may comprise technologyto enable users to instantly turn on and off platform 802 like atelevision with the touch of a button after initial boot-up, whenenabled. Program logic may allow platform 802 to stream content to mediaadaptors or other content services device(s) 830 or content deliverydevice(s) 840 when the platform is turned “off” In addition, chip set805 may include hardware and/or software support for 5.1 surround soundaudio and/or high definition 7.1 surround sound audio, for example.Drivers may include a graphics driver for integrated graphics platforms.For some examples, the graphics driver may comprise a peripheralcomponent interconnect (PCI) Express graphics card.

In various examples, any one or more of the components shown in system800 may be integrated or may be virtualized. For example, platform 802and content services device(s) 830 may be integrated, or platform 802and content delivery device(s) 840 may be integrated, or platform 802,content services device(s) 830, and content delivery device(s) 840 maybe integrated, for example. In various examples, platform 802 anddisplay 820 may be an integrated unit. Display 820 and content servicedevice(s) 830 may be integrated, or display 820 and content deliverydevice(s) 840 may be integrated, for example. These examples are notmeant to limit this disclosure.

In various examples, system 800 may be implemented as a wireless system,a wired system, or a combination of both. When implemented as a wirelesssystem, system 800 may include components and interfaces suitable forcommunicating over a wireless shared media, such as one or moreantennas, transmitters, receivers, transceivers, amplifiers, filters,control logic, and so forth. An example of wireless shared media mayinclude portions of a wireless spectrum, such as the RF spectrum and soforth. When implemented as a wired system, system 800 may includecomponents and interfaces suitable for communicating over wiredcommunications media, such as input/output (I/O) adapters, physicalconnectors to connect the I/O adapter with a corresponding wiredcommunications medium, a network interface card (NIC), disc controller,video controller, audio controller, and so forth. Examples of wiredcommunications media may include a wire, cable, metal leads, printedcircuit board (PCB), backplane, switch fabric, semiconductor material,twisted-pair wire, co-axial cable, fiber optics, and so forth.

Platform 802 may establish one or more logical or physical channels tocommunicate information. The information may include media informationand control information. Media information may refer to any datarepresenting content meant for a user. Examples of content may includedata from a voice conversation, videoconference, streaming video,electronic mail (“email”) message, voice mail message, alphanumericsymbols, graphics, image, video, text and so forth. Data from a voiceconversation may be, for example, speech information, silence periods,background noise, comfort noise, tones and so forth. Control informationmay refer to any data representing commands, instructions or controlwords meant for an automated system. For example, control informationmay be used to route media information through a system, or instruct anode to process the media information in a predetermined manner. Theexamples mentioned above, however, are not limited to the elements or inthe context shown or described in FIG. 8 .

FIG. 9 illustrates an example device 900. As described above, system 800may be embodied in varying physical styles or form factors. FIG. 9illustrates examples of a small form factor device 900 in which system800 may be embodied. In some examples, device 900 may be implemented asa mobile computing device having wireless capabilities. A mobilecomputing device may refer to any device having a processing system anda mobile power source or supply, such as one or more batteries, forexample.

As described above, examples of a mobile computing device may include apersonal computer (PC), laptop computer, ultramobile computer, tabletcomputer, touch pad, portable computer, display device, handheldcomputer, palmtop computer, personal digital assistant (PDA), cellulartelephone, combination cellular telephone/PDA, television, smart device(e.g., smart phone, smart tablet, smart camera or smart television),mobile internet device (MID), messaging device, data communicationdevice, and so forth.

Examples of a mobile computing device also may include computers thatare arranged to be worn by a person, such as a wrist computer, fingercomputer, ring computer, eyeglass computer, belt-clip computer, arm-bandcomputer, shoe computers, clothing computers, and other wearablecomputers. According to some examples, a mobile computing device may beimplemented as a smart phone, smart camera or display device capable ofexecuting computer applications, as well as voice communications and/ordata communications. Although some examples may be described with amobile computing device implemented as a smart phone, smart camera ordisplay device by way of example, it may be appreciated that otherexamples may be implemented using other wireless mobile computingdevices as well. The examples are not limited in this context.

As shown in FIG. 9 , device 900 may include a housing 902, a display904, an input/output (I/O) device 906, and an antenna 909. Device 900also may include navigation features 912. Display 904 may include anysuitable display unit for displaying information appropriate for use bythe mobile computing device and/or for displaying information via themobile computing device. I/O device 906 may include any suitable I/Odevice for entering information into a mobile computing device. Examplesfor I/O device 906 may include an alphanumeric keyboard, a numerickeypad, a touch pad, input keys, buttons, switches, rocker switches,microphones, speakers, voice recognition device and software, and soforth. Information also may be entered into device 900 by way ofmicrophone. For some examples, a voice recognition device may digitizesuch information. Although the disclosure is not limited in thiscontext.

One or more aspects of at least one example may be implemented byrepresentative instructions stored on at least one machine-readablemedium which represents various logic within the processor, which whenread by a machine, computing device or system causes the machine,computing device or system to fabricate logic to perform the techniquesdescribed herein. Such representations, known as “IP cores” may bestored on a tangible, machine readable medium and supplied to variouscustomers or manufacturing facilities to load into the fabricationmachines that actually make the logic or processor.

Various examples may be implemented using hardware elements, softwareelements, or a combination of both. In some examples, hardware elementsmay include devices, components, processors, microprocessors, circuits,circuit elements (e.g., transistors, resistors, capacitors, inductors,and so forth), integrated circuits, application specific integratedcircuits (ASIC), programmable logic devices (PLD), digital signalprocessors (DSP), field programmable gate array (FPGA), memory units,logic gates, registers, semiconductor device, chips, microchips, chipsets, and so forth. In some examples, software elements may includesoftware components, programs, applications, computer programs,application programs, system programs, machine programs, operatingsystem software, middleware, firmware, software modules, routines,subroutines, functions, methods, procedures, software interfaces,application program interfaces (API), instruction sets, computing code,computer code, code segments, computer code segments, words, values,symbols, or any combination thereof. Determining whether an example isimplemented using hardware elements and/or software elements may vary inaccordance with any number of factors, such as desired computationalrate, power levels, heat tolerances, processing cycle budget, input datarates, output data rates, memory resources, data bus speeds and otherdesign or performance constraints, as desired for a givenimplementation.

Some examples may include an article of manufacture or at least onecomputer-readable medium. A computer-readable medium may include anon-transitory storage medium to store logic. In some examples, thenon-transitory storage medium may include one or more types ofcomputer-readable storage media capable of storing electronic data,including volatile memory or non-volatile memory, removable ornon-removable memory, erasable or non-erasable memory, writeable orre-writeable memory, and so forth. In some examples, the logic mayinclude various software elements, such as software components,programs, applications, computer programs, application programs, systemprograms, machine programs, operating system software, middleware,firmware, software modules, routines, subroutines, functions, methods,procedures, software interfaces, API, instruction sets, computing code,computer code, code segments, computer code segments, words, values,symbols, or any combination thereof.

According to some examples, a computer-readable medium may include anon-transitory storage medium to store or maintain instructions thatwhen executed by a machine, computing device or system, cause themachine, computing device or system to perform methods and/or operationsin accordance with the described examples. The instructions may includeany suitable type of code, such as source code, compiled code,interpreted code, executable code, static code, dynamic code, and thelike. The instructions may be implemented according to a predefinedcomputer language, manner or syntax, for instructing a machine,computing device or system to perform a certain function. Theinstructions may be implemented using any suitable high-level,low-level, object-oriented, visual, compiled and/or interpretedprogramming language.

Some examples may be described using the expression “in one example” or“an example” along with their derivatives. These terms mean that aparticular feature, structure, or characteristic described in connectionwith the example is included in at least one example. The appearances ofthe phrase “in one example” in various places in the specification arenot necessarily all referring to the same example.

Some examples may be described using the expression “coupled” and“connected” along with their derivatives. These terms are notnecessarily intended as synonyms for each other. For example,descriptions using the terms “connected” and/or “coupled” may indicatethat two or more elements are in direct physical or electrical contactwith each other. The term “coupled,” however, may also mean that two ormore elements are not in direct contact with each other, but yet stillco-operate or interact with each other.

It is emphasized that the Abstract of the Disclosure is provided tocomply with 37 C.F.R. Section 1.72(b), requiring an abstract that willallow the reader to quickly ascertain the nature of the technicaldisclosure. It is submitted with the understanding that it will not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description, it can be seen thatvarious features are grouped together in a single example for thepurpose of streamlining the disclosure. This method of disclosure is notto be interpreted as reflecting an intention that the claimed examplesrequire more features than are expressly recited in each claim. Rather,as the following claims reflect, inventive subject matter lies in lessthan all features of a single disclosed example. Thus the followingclaims are hereby incorporated into the Detailed Description, with eachclaim standing on its own as a separate example. In the appended claims,the terms “including” and “in which” are used as the plain-Englishequivalents of the respective terms “comprising” and “wherein,”respectively. Moreover, the terms “first,” “second,” “third,” and soforth, are used merely as labels, and are not intended to imposenumerical requirements on their objects.

In some examples, first methods may include receiving, at a camera,information from a host processing system. Video content may then becaptured based, at least in part, on the received information and videoanalytics may be performed on the captured video content. Dataassociated with the video analytics may then be sent to the hostprocessing system.

According to some examples for the first methods, the camera may be afirst surveillance camera. The information received from the hostprocessing system may include one or more camera commands to capture thevideo content. The one or more camera commands may include at least oneof a camera direction, a time period for a camera direction, panningbetween first and second camera directions, a camera zoom or a cameratilt.

In some examples for the first methods, the first surveillance cameramay be arranged for encoding the captured video content and sending theencoded captured video content to the host processing system.

According to some examples for the first methods, the data associatedwith the video analytics may be sent via a first communication channeland the encoded captured video content may be sent via a secondcommunication channel. The first and the second communication channelsmay be included in a single interconnect coupling the first surveillancecamera to the host processing system.

According to some examples for the first methods, the informationreceived from the host processing system may include one or more cameracommands to select one or more video analytics to perform on a capturedvideo, and to send data associated with the video analytics to hostprocessing system.

In some examples for the first methods, the data associated with thevideo analytics may be sent via a first communication channel and theencoded captured video content may be sent via a second communicationchannel. The first and the second communication channels may be includedin a first and a second interconnect. The first interconnect may couplethe first surveillance camera to a second surveillance camera and thesecond interconnect may couple the second surveillance camera to thehost processing system.

According to some examples for the first methods, one or more updatedcamera commands may be received from the host processing system based,at least in part, on the data associated with the video analytics thatwas sent to the host processing system.

In some examples for the first methods, the data associated with thevideo analytics may include one or more of a movement pattern of one ormore objects in the captured video content, a presence or an absence ofone or more objects in a captured video content, locations of one ormore objects in a captured video content, identity of one or morepersons or objects in a captured video content, a lighting condition inthe captured video content, color characteristics of one or more objectsin the captured video, or shape characteristics of one or more object inthe captured video.

According to some examples for the first methods, the camera may be afirst camera located with a first display device arranged to receivestreaming video from the host processing system. The informationreceived from the host processing system may include informationdirecting the first camera to capture the video contentcontemporaneously with the first display device displaying videoincluded in the received video stream.

In some examples for the first methods, updated information may bereceived from the host processing system. The updated information mayinclude information directing the first camera to capture additionalvideo content contemporaneously with the first display device displayingupdated video included in an updated video stream. The video stream mayhave been updated based, at least in part, on the data associated withthe video analytics.

According to some examples for the first methods, the first camera(e.g., via a camera manager 122 at a camera) may perform the videoanalytics on the captured video content.

In some examples for the first methods, the first display device (e.g.,via a camera manager 122 at the display device) may perform the videoanalytics on the video content.

In some examples for the first methods, the data associated with thevideo analytics may be sent via a first communication channel. Thestreaming video may be received via a second communication channel. Thefirst and the second communication channels may be included in a singleinterconnect coupling the first display device to the host processingsystem.

According to some examples for the first methods, the data associatedwith the video analytics may include at least one of a movement patternfor observers of the displayed video, shape characteristics forobservers of the displayed video, lighting conditions at the displaysystem while the video was displayed or types of interactions forobservers when observing the displayed video, biometrics information(e.g. gender and age group) for observers of the displayed video,extracted gesture information for observers of the displayed video.

In some examples, second methods may be implemented at a host processingsystem and may include sending information to direct a camera to capturevideo content. The second methods may also include receiving dataassociated with video analytics for video content captured by the cameraresponsive to the sent information and sending updated informationbased, at least in part, on the data associated with the videoanalytics.

In some examples for the second methods, the host processing system mayperform additional processing, statistical analysis or data miningbased, at least in part, on the data associated with the videoanalytics. The additional processing may include at least one of viewergesture interpretation, executing additional commands in response to adetected human gesture, communication with a remote system, and raisingan alarm in response to a detected threat condition.

In some examples for the second methods, the host processing system maystore video analytics data, encoded video and/or additional dataobtained from processing of data associated with the video analytics ina local storage or a remote storage.

In some examples for the second methods, the camera may be asurveillance camera and the information sent to direct the firstsurveillance camera may include one or more camera commands to capturethe video content. The one or more camera commands may include at leastone of a camera direction, a time period for a camera direction, panningbetween first and second camera directions, a camera zoom or a cameratilt. The one or more camera commands may also include one or morecamera commands to select one or more video analytics to perform on acaptured video, and to send data associated with the video analytics tohost processing system.

According to some examples for the second methods, the firstsurveillance camera may be arranged for encoding the captured videocontent and sending the encoded captured video content to the hostprocessing system.

In some examples for the second methods, the data associated with thevideo analytics may be received via a first communication channel andthe encoded captured video content may be received via a secondcommunication channel. The first and the second communication channelsmay be included in a single interconnect coupling the host processingsystem to the surveillance camera.

According to some examples for the second methods, the data associatedwith the video analytics may include one or more of a movement patternof one or more objects in the captured video content, a presence or anabsence of one or more objects in a captured video content, locations ofone or more objects in a captured video content, identity of one or morepersons or objects in a captured video content, a lighting condition inthe captured video content, color characteristics of one or more objectsin the captured video, or shape characteristics of one or more object inthe captured video.

In some examples, the second methods may include streaming video to adisplay device located with the camera. The information sent to thecamera may include information directing the camera to capture the videocontent contemporaneously with the display device displaying videoincluded in the streaming video. The second methods may also includestreaming updated video to the display device based, at least in part,on the data associated with the video analytics.

According to some examples for the second methods, the data associatedwith the video analytics may be received via a first communicationchannel and the streaming video may be sent via a second communicationchannel. The first and the second communication channels may be includedin a single interconnect coupling the host computing system to thedisplay device.

In some examples, the data associated with the video analytics mayinclude at least one of a movement pattern for observers of thedisplayed video, shape characteristics for observers of the displayedvideo, biometrics information (e.g. gender and age group) for observersof the displayed video, extracted gesture information for observers ofthe displayed video, lighting conditions at the display system while thevideo was displayed or types of interactions for observers whenobserving the displayed video.

According to some examples, a first apparatus or device may include acamera, a processor circuit and a memory unit. The memory unit may becommunicatively coupled to the processor circuit. The memory unit may bearranged to store a camera manager operative on the processor circuit toreceive information from a host processing system. The camera managermay also be operative to capture video content using the camera based,at least in part on the received information. The camera manager mayalso be operative to perform video analytics on the captured videocontent, encode the captured video content, and send both dataassociated with the video analytics and the encoded captured videocontent to a host processing system.

In some examples for the first apparatus, the information received fromthe host processing system may include one or more camera commands tocapture the video content. The one or more camera commands may includeat least one of a camera direction, a time period for a cameradirection, panning between first and second camera directions, a camerazoom or a camera tilt.

In some examples for the first apparatus, the information received fromthe host processing system may include one or more camera commands toselect one or more video analytics to perform on a captured video, andto send data associated with the video analytics to a host processingsystem.

According to some examples for the first apparatus, the data associatedwith the video analytics may include one or more of a movement patternof one or more objects in the captured video content, the presence orabsence of one or more objects in a captured video content, locations ofone or more objects in a captured video content, identity of one or morepersons or objects in a captured video content, a lighting condition inthe captured video content, color characteristics of one or more objectsin the captured video, or shape characteristics of one or more object inthe captured video.

In some examples for the first apparatus, the data associated with thevideo analytics may be sent via a first communication channel and theencoded captured video content may be sent via a second communicationchannel. The first and the second communication channels included in asingle interconnect coupling the camera to the host processing system.

According to some examples for the first apparatus, a digital displaymay be coupled to the processor circuit to present a user interfaceview.

According to some examples, a second apparatus or device may include aprocessor circuit and a memory unit communicatively coupled to theprocessor circuit. The memory unit may be arranged to store a videomanager operative on the processor circuit to send information to directa camera to capture video content, receive data associated with videoanalytics for the video content captured by the camera, and send updatedinformation based, at least in part, on the data associated with thevideo analytics.

In some examples for the second apparatus, the video manager may also beoperative to stream video to a display device located with the camera.The information may be sent to the camera to include informationdirecting the camera to capture the video content contemporaneously withthe display device displaying video included in the streaming video. Thevideo manager may also be operative to stream updated video to thedisplay device based, at least in part, on the data associated with thevideo analytics.

According to some examples for the second apparatus, the data associatedwith the video analytics may be received via a first communicationchannel and the video streamed to the display device via a secondcommunication channel. The first and the second communication channelsincluded in a single interconnect coupling the host computing system tothe display device.

In some examples for the second apparatus, the data associated with thevideo analytics may include at least one of a movement pattern forobservers of the displayed video, shape characteristics for observers ofthe displayed video, biometrics information (e.g. gender and age group)for observers of the displayed video, extracted gesture information forobservers of the displayed video, lighting conditions at the displaysystem while the video was displayed or types of interactions forobservers when observing the displayed video.

In some examples for the second apparatus, the video manager may also beoperative to perform additional processing on data associated with thevideo analytics. The additional processing may include at least one ofstatistical analysis, data mining, data or video storage, view gestureinterpretation, executing additional commands in response to a detectedhuman gesture, executing additional commands in response to receiveddata associated with the video analytics, communication with a remotesystem or raising an alarm in response to a detected threat condition.

According to some examples for the second apparatus, a digital displaymay be coupled to the processor circuit to present a user interfaceview.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

1-20. (canceled)
 21. An apparatus comprising: memory; instructions inthe apparatus; and processor circuitry to execute the instructions to:obtain a command from a host processing system to record video at acamera, the command sent over a single interconnect that includes atleast two communication channels and supports daisy chaining, the cameramounted at a display panel, the camera to capture first video content ofan observer in front of the display panel, the first video contentcontemporaneously presented on the display panel; perform videoanalytics to determine a location of the observer in the first videocontent and center a field of view of the camera based on movement ofthe observer at an edge of the field of view; adjust a zoom of thecamera and capture second video content contemporaneously with thedisplay panel displaying the second video content; and send the firstvideo content and the second video content to the host processingsystem.
 22. The apparatus of claim 21, wherein the processor circuitryis to execute the instructions to: transmit the first video content andthe second video content to the host processing system via a firstcommunication channel of the at least two communication channels; andtransmit the video analytics to the host processing system via a secondcommunication channel of the at least two communication channels. 23.The apparatus of claim 21, wherein the processor circuitry is to executethe instructions to encode the first video content to facilitate asecure transmission of the first video content to the host processingsystem.
 24. The apparatus of claim 21, wherein to perform the videoanalytics includes identification of a biometric of the observer. 25.The apparatus of claim 21, wherein the processor circuitry is to executethe instructions to pan between a first direction and a second directionin response to reception of a second command from the host processingsystem.
 26. The apparatus of claim 21, wherein the display panel is afirst display panel and wherein the processor circuitry is to executethe instructions to transmit the second video content to a seconddisplay panel that is daisy chained to the first display panel.
 27. Theapparatus of claim 21, wherein the processor circuitry is to execute theinstructions to identify a lighting condition in the first video contentand adjust a tilt of the camera.
 28. A non-transitory computer readablestorage medium comprising instructions which, when executed by processorcircuitry, cause the processor circuitry to: obtain a command from ahost processing system to record video at a camera, the command sentover a single interconnect that includes at least two communicationchannels and supports daisy chaining, the camera mounted at a displaypanel, the camera to capture first video content of an observer in frontof the display panel, the first video content contemporaneouslypresented on the display panel; perform video analytics to determine alocation of the observer in the first video content and center a fieldof view of the camera based on movement of the observer at an edge ofthe field of view; adjust a zoom of the camera and capture second videocontent contemporaneously with the display panel displaying the secondvideo content; and send the first video content and the second videocontent to the host processing system.
 29. The non-transitory computerreadable storage medium of claim 28, wherein the instructions, whenexecuted, cause the processor circuitry to: transmit the first videocontent and the second video content to the host processing system via afirst communication channel of the at least two communication channels;and transmit the video analytics to the host processing system via asecond communication channel of the at least two communication channels.30. The non-transitory computer readable storage medium of claim 28,wherein the instructions, when executed, cause the processor circuitryto encode the first video content to facilitate a secure transmission ofthe first video content to the host processing system.
 31. Thenon-transitory computer readable storage medium of claim 28, wherein toperform the video analytics includes identification of a biometric ofthe observer.
 32. The non-transitory computer readable storage medium ofclaim 28, wherein the instructions, when executed, cause the processorcircuitry to pan between a first direction and a second direction inresponse to obtaining a second command from the host processing system.33. The non-transitory computer readable storage medium of claim 28,wherein the display panel is a first display panel, and wherein theinstructions, when executed, cause the processor circuitry to transmitthe second video content to a second display panel that is daisy chainedto the first display panel.
 34. The non-transitory computer readablestorage medium of claim 28, wherein the instructions, when executed,cause the processor circuitry to identify a lighting condition in thefirst video content and adjust a tilt of the camera.
 35. A methodcomprising: obtaining, by executing an instruction with processorcircuitry, a command from a host processing system to record video at acamera, the command sent over a single interconnect that includes atleast two communication channels and supports daisy chaining, the cameramounted at a display panel, the camera to capture first video content ofan observer in front of the display panel, the first video contentcontemporaneously presented on the display panel; performing, byexecuting an instruction with the processor circuitry, video analyticsto determine a location of the observer in the first video content andcenter a field of view of the camera based on movement of the observerat an edge of the field of view; adjusting, by executing an instructionwith the processor circuitry, a zoom of the camera and capture secondvideo content contemporaneously with the display panel displaying thesecond video content; and sending, by executing an instruction with theprocessor circuitry, the first video content and the second videocontent to the host processing system.
 36. The method of claim 35,further including: transmitting the first video content and the secondvideo content to the host processing system via a first communicationchannel of the at least two communication channels; and transmitting thevideo analytics to the host processing system via a second communicationchannel of the at least two communication channels.
 37. The method ofclaim 35, further including encoding the first video content tofacilitate a secure transmission of the first video content to the hostprocessing system.
 38. The method of claim 35, wherein performing thevideo analytics includes identifying of a biometric of the observer. 39.The method of claim 35, further including panning between a firstdirection and a second direction in response to obtaining a secondcommand from the host processing system.
 40. The method of claim 35,wherein the display panel is a first display panel, and furtherincluding: identifying a lighting condition in the first video content;adjusting a tilt of the camera; and transmitting the second videocontent to a second display panel that is daisy chained to the firstdisplay panel.